Flash BuilderでiOSアプリを作る【第4回】『証明書ファイルの作成(Windows編)』
前回は、Macを使ったiOSアプリ開発に必要な証明書ファイルの作成方法を紹介しました。 今回はWindowsを使ってやってみましょう。
開発用証明書の作成(Windows編)
<今回作成するもの>
- 証明書署名要求ファイル(*.csr)
- CER形式証明書ファイル(*.cer)
- P12形式証明書ファイル(*.p12)
MacではOS付属の「キーチェーンアクセス」を使って証明書署名要求ファイル(CSRファイル)を作成しましたが、 Windowsにはその手のソフトが付属していないので、「OpenSSL」というソフトをダウンロードして利用します。
<用意するもの>
- ネットへの接続環境
- お手持ちのWindows
OpenSSLのダウンロードとインストール
OpenSSLは公式サイトにてソースコードが公開されています。 こちらを利用するにはソースコードを自前でコンパイルする必要がありますが、 既に有志の方がコンパイル済みのWindow用バイナリを公開されていますので、 今回はこちらを利用させていただきましょう。有難いですね。
▼OpenSSL Windows Installer Shining Light Productions - Win32/64 OpenSSL
通常版とLight版がありますが、CSRファイルを作成するだけなのでLight版をダウンロードしましょう。 現在(2012/3/30時点)だと「v1.0.1」が最新のようですね。
32bit版 → Win32 OpenSSL v1.0.1 Light 64bit版 → Win64 OpenSSL v1.0.1 Light
いずれかを自分の環境に合わせてダウンロードします。 ダウンロードが終わったexeファイルを実行してインストール。
おや「Microsoft Visual C++ 2008 Redistributables がないと動かないっす自分」 と言ってます。 必要に応じてMicrosoft Download Centerからファイルをダウンロードしてインストールしましょう。
- 32bit版 → Microsoft Visual C++ 2008 (x86)
- 64bit版 → Microsoft Visual C++ 2008 (x64)
Microsoft Visual C++もインストールできました。
あとはOpenSSLのインストーラーに戻って「次へ」をクリックし、インストールを続行しましょう。 途中オプションでOpenSSLのインストール場所、寄付の意思などを選択できます。
証明書署名要求ファイル(CSRファイル)の作成
OpenSSLのインストールが終わったら、さっそくCSRファイルを作成してみましょう。 CSRファイルは、CER形式証明書ファイル(*.cer)をiOS Dev Centerで発行するために作成します。
コマンドプロンプト(cmd.exe)を開いて、下記のコマンドを入力していきます。
cd C:\OpenSSL-Win64\bin
1)cdコマンドで、OpenSSLのbinディレクトリへ移動します。
openssl genrsa -out yamamoto.key 2048
2)genrsaコマンドで、秘密鍵を作成します。ここでは例として「yamamoto.key」というファイル名で作成しています。
openssl req -new -key yamamoto.key -out yamamoto.csr -subj "/[email protected], CN=Ichiro Yamamoto, C=JP"
3)reqコマンドで、秘密鍵(yamamoto.key)からCSRファイル(yamamoto.csr)を作成します。この時、メールアドレス(emailAddress)、証明書名(CN)、国(C)を入力します。
上手くいくとコマンドプロンプトはこんな風になってるはず。
OpenSSLのbinディレクトリにファイルが作成されました。
CER形式証明書ファイル(*.cer)の取得
ここはMacで行った手順と同様で、iOS Dev CenterのProvisiong Portalにアクセスして、 先ほど作ったCSRファイルをアップロード、CER形式証明ファイルを発行/取得します。
※iOSアプリケーション開発には、その用途に応じて、開発用(直インストール可能なデバッグ用)と、 配布用(App Storeへ公開用)の2種類の証明書がありますが、今回は開発用証明書を取得しましょう。
iOS Dev CenterのProvisioning Portalにアクセス、Developmentタブの「Request Certificate」ボタンをクリックします。 ※配布用(App Storeへ公開用)証明書が必要な際は、Distributionタブから手続きを行います。
「ファイルを選択ボタン」をクリックするとファイル選択のダイアログが出るので、 先ほど作成したCSRファイルを選択してアップロードします。
CSRファイルをアップロードすると、CERファイルの発行待ち状態になります。 画面上でステータスが「Pending Issuance(発行待ち)」となっていますね。
すこし待ってページを更新すると、先ほどのステータスがIssued(発行済)に変わりました! 「Download」ボタンをクリックして、CERファイルをダウンロードしましょう。
CERファイルを手に入れました。
P12形式証明書ファイル(*.p12)の作成
P12形式証明書ファイル(P12ファイル)は、先ほど取得したCER形式証明書ファイル(CERファイル)を、 再びOpenSSLを使って「個人情報交換形式(*.P12)」として書き出すことで作成します。
先ほど作ったCERファイルをあらかじめOpenSSLのbinディレクトリに移動させておきます。
cd C:\OpenSSL-Win64\bin
1)cdコマンドで、OpenSSLのbinディレクトリに移動します。
openssl x509 -in ios_development.cer -inform DER -out yamamoto.pem -outform PEM
2)x509コマンドで、CERファイル(ios_development.cer)を、PEMファイル(yamamoto.pem)に変換します。
openssl pkcs12 -export -inkey yamamoto.key -in yamamoto.pem -out yamamoto.p12
3)pkcs12コマンドで、秘密鍵(yamamoto.key)とPEMファイル(yamamoto.pem)からP12ファイル(yamamoto.p12)を書き出します。 ※この時、p12ファイルを利用する際のパスワードを設定します。2回聞かれますので間違えないよう丁寧に入力しましょう。
上手くいくとコマンドプロントはこんな風になっているはず(デジャブ)
念願のp12ファイルを手に入れました。
次回は開発準備も最終ステージ「プロビジョニングプロファイルの作成方法」をお送りしたいと思います!
山本